Verwenden Sie CREATE SEQUENCE
:
Fügen Sie dann einen Spaltenstandard zu scores.job_id
:
Wenn Sie bind die Sequenz an die Spalte binden möchten (also gelöscht wird, wenn die Spalte gelöscht wird), führen Sie auch:
aus %Vor% All dies kann durch den Pseudodatentyp ersetzt werden serial
, damit die Spalte job_id
mit beginnen kann:
Wenn Ihre Tabelle bereits Zeilen enthält, sollten Sie SEQUENCE
auf den nächsthöheren Wert setzen und fehlende serielle Werte in der Tabelle eingeben:
Optional:
%Vor% Die einzige verbleibende Differenz, eine serial
-Spalte, wird ebenfalls auf NOT NULL
gesetzt. Vielleicht möchten Sie das auch:
Aber Sie können nicht nur den Typ eines vorhandenen integer
:
serial
ist kein tatsächlicher Datentyp. Es ist nur eine Notationsfunktion für CREATE TABLE
.
So habe ich herausgefunden, wie man das mit ActiveRecord-Migrationen auf Ruby on Rails macht. Ich benutzte im Grunde Erwins Befehle und Hilfe von dieser Seite und setzte sie in den Migrationsdateien. Dies sind die Schritte:
1. Geben Sie im Terminal Folgendes ein:
%Vor%2. Bearbeiten Sie die Migrationsdateien wie folgt:
20140709181616_create_job_id_sequence.rb :
%Vor%20140709182313_add_job_id_sequence_to_scores.rb :
%Vor%3. Migrieren Sie die Datenbank. Im Terminaltyp:
%Vor%Tags und Links ruby-on-rails activerecord postgresql rails-activerecord rails-postgresql