Raylar arası bir uygulamayı raylar için doğru formata dönüştürmek üzere bir geçiş yazıyorum - bazı nedenlerden dolayı tablolardan biri, id sütununda otomatik artışa sahip değil. Bir geçişte açmanın hızlı bir yolu var mı, belki change_column
veya başka bir şeyle mi?Raylar geçişi ile eksik otomatik artış özniteliği yaratın
9
A
cevap
7
Bir SQL deyimi yürütmeniz gerekir.
statement = "ALTER TABLE `users` CHANGE `id` `id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT"
ActiveRecord::Base.connection.execute(statement)
Not Bu bir örnektir. Son SQL deyimi sözdizimi veritabanına bağlıdır.
6
Eğer postgesql iseniz, tek bir istek bunu yapmayacaktır. Veritabanında yeni bir dizi oluşturmanız gerekecek.
create sequence users_id_seq;
Sonra
alter table users
add id INT UNIQUE;
Sonra id
alter table users
alter column id
set default nextval('users_id_seq');
Sonra id sütununu doldurmak için varsayılan değeri ayarlamak masanıza id sütununu ekleyin. çok sayıda tablo
update users
set id = nextval('users_id_seq');
bu postgresql kullanıcılara yardımcı Umut varsa bu ... oldukça uzun olabilir sizin için otomatik olarak her şeyi yapar serial
türüne
+0
Teşekkürler! Bu çok yardımcı! –
5
Postgres answer by @jlfenaux özlüyor dışarı:
ALTER TABLE tbl add tbl_id serial;
İlgili konular
- 1. Otomatik Artış Sütunu Algıla
- 2. MySQL otomatik artış ile tabloya eklemek
- 3. Cassandra sütun tuşu otomatik artış
- 4. Özel yönergede otomatik artış değeri
- 5. raylar belirli bir geçişi çalıştırıyor
- 6. Mongoose - findOne ile artış
- 7. Eksik raylar jquery raylarıyla
- 8. Raylar eksik görüntü
- 9. Fırtına yapılandırmasında otomatik artış işaretinin amacı
- 10. Raylarda bir otomatik artış alanı oluşturun
- 11. Raylar Geçişi Tablo Oluştur Birincil Anahtar
- 12. Raylar I18n-js: eksik çeviri
- 13. Python: type() kullanırken eksik class özniteliği __module__?
- 14. Raylar 3 Kahve İşleyici Eksik
- 15. AdMob: Gerekli XML özniteliği eksik adUnitID
- 16. raylar - konumu ile otomatik tamamlama textfield gem
- 17. Raylar - seri hale getirici parametre geçişi
- 18. Laravel 5.2 elverişli otomatik artış pgsql istisnası aynı kimlik üzerinde
- 19. Mule DataWeave dönüştürme iletisi eksik meta verilerle başarısız: id özniteliği
- 20. Corecursion ile ağaç geçişi
- 21. IntelliJ içinde Test Sınıfı Yaratın
- 22. SQL Server Express Management Studio üzerinden otomatik artış ayarlanamıyor mu?
- 23. SQLite veritabanında otomatik artış sütunu nasıl yeniden verilir?
- 24. Spring @GeneratedValue ek açıklamaları, Otomatik artış alanı için çalışmıyor
- 25. Firebird veritabanında otomatik artış alanı oluşturmanın en kolay yolu
- 26. Yii2 ArrayHelper içinde concate otomatik artış alfabe :: map()
- 27. Tuşa basıldığında 10 ile artış Love2D
- 28. Raylar: geliştirmede eksik görüntü yönlendirme hatalarını engelle
- 29. Raylar: Ajax otomatik önerme eklentisi?
- 30. İki hedefle kaynak yaratın
sayesinde @Simone Carletti sürü sorunu çözmek için bütün gün boşa, ama şimdi teşekkür DGM de postin için çözülmesi ve var g vakamın konusuna özgü bir soru. İkiniz de bana tekrar yardım edeceğinizi umuyoruz. Mutlu kodlama. – roarfromror
Saklı yordamları kullanan raylarda çok fazla etkinlik bilmiyorum - bazı köşelerdeki raylar SQL'in daha güçlü yönleri için çok az şey kullanıyor, diğerleri bunu bilmiyor ... her neyse, en azından Bu aynı formu saklı yordamı oluşturmak için SQL yazmak için. – DGM