Piszę migracji do konwersji non-app szyn w odpowiednim formacie na szynach - jednym ze stolików z jakiegoś powodu nie ma automatycznego przyrostu ustawiony na kolumnie id. Czy istnieje szybki sposób, aby włączyć go podczas migracji, może z change_column
czy coś takiego?Tworzenie brakuje atrybut automatycznego przyrostu z szyn migracji
Odpowiedz
Należy wykonać instrukcję SQL.
statement = "ALTER TABLE `users` CHANGE `id` `id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT"
ActiveRecord::Base.connection.execute(statement)
Uwaga: to tylko przykład. Ostateczna składnia instrukcji SQL zależy od bazy danych.
Jeśli jesteś na postgesql, pojedynczy wniosek nie będzie to zrobić. Musisz utworzyć nową sekwencję w bazie danych.
create sequence users_id_seq;
Następnie dodać kolumnę id do stolika
alter table users
add id INT UNIQUE;
Następnie ustawić domyślną wartość dla id
alter table users
alter column id
set default nextval('users_id_seq');
następnie wypełnić kolumnę id. To może być dość długo, jeśli tabela zawiera wiele wierszy
update users
set id = nextval('users_id_seq');
Nadzieja to pomaga użytkownikom postgresql ...
Dzięki! To jest bardzo pomocne! –
W Postgres answer by @jlfenaux zagra dotyczące rodzaju serial
, który robi to wszystko dla ciebie automatycznie:
ALTER TABLE tbl add tbl_id serial;
- 1. C# Get insert id z automatycznego przyrostu
- 2. Tworzenie wielu kolumn odrębny indeks MySQL z szyn migracji
- 3. Uruchamianie migracji z konsoli szyn
- 4. sqlalchemy klucz podstawowy bez automatycznego przyrostu
- 5. Numer dokumentu automatycznego przyrostu w Mongo/Mongoose
- 6. Wartość automatycznego przyrostu w dyrektywie niestandardowej
- 7. Jak działa funkcja automatycznego przyrostu MySQL?
- 8. automatycznego przyrostu podzapytanie w tsql select
- 9. Jak tabeli MySQL automatycznego przyrostu klucz podstawowy z niektórych prefiks
- 10. Definiowanie Composite Klucz z automatycznego przyrostu w MySQL
- 11. SQL Server: dowolna automatycznego przyrostu z klucza podstawowego
- 12. szyn: Łączenie zagnieżdżone atrybut z strong_params
- 13. Jak zdobyć obiektu brakuje atrybut
- 14. Jak używać automatycznego przyrostu dla identyfikatora klucza głównego w dynamodb
- 15. Pole automatycznego przyrostu Entity Framework, które nie jest Id
- 16. SQL Server kolumna unikatowy automatycznego przyrostu w kontekście innej kolumnie
- 17. Sql Server CE - Tymczasowe wyłączanie automatycznego przyrostu dla konkretnej kolumny
- 18. ToUnixTimeSeconds brakuje po migracji do VS 2017
- 19. Error - "gem install szyn" - libxml2 brakuje
- 20. Sprawdzone metody SQL - czy w celu automatycznego sortowania wierszy można polegać na polu automatycznego przyrostu?
- 21. Efektywne tworzenie "feedu" z wielu modeli szyn?
- 22. niezdefiniowana metoda "tworzenie" specyfikacji szyn.
- 23. MySQL wstawić do tabeli z automatycznego przyrostu podczas wybierania z innej tabeli
- 24. Poproś o prosty przykład działania alembika dla automatycznego generowania migracji
- 25. LINQ to SQL wstawić z klucza podstawowego jako tinyint ustawienie automatycznego przyrostu daje komunikat o błędzie
- 26. Tworzenie automatycznego instalatora dla każdego programu
- 27. Railsowanie 3.2.6 i tworzenie widoków bazy danych za pomocą migracji
- 28. Tworzenie plików migracji w szynach z istniejącej tabeli mysql
- 29. Roslyn C# zmiany przyrostu
- 30. Tworzenie indeksu klastrowego podczas korzystania z pierwszej migracji kodu za pomocą Entity Framework i SQL Server
Bardzo dziękuję @Simone Carletti, zmarnowany cały dzień, aby rozwiązać ten problem, ale teraz jest rozwiązany i dzięki DGM też dla postin g pytanie specyficzne dla mojej sprawy. Czy możesz mi dać pomysł na pisanie procedur przechowywanych w szynach 4.1 w fantazyjny sposób, mając nadzieję, że znowu mi pomożecie. Szczęśliwe kodowanie. – roarfromror
Nie znam zbyt dużej aktywności w szynach przy użyciu procedur przechowywanych - niektóre rogi szyn nie mają większego znaczenia dla bardziej wydajnych stron SQL, inne po prostu o tym nie wiedzą ... w każdym razie, przynajmniej możesz użyć ta sama forma, aby napisać SQL, aby utworzyć procedurę przechowywaną. – DGM