2015-04-02 2 views
0

Je fais une application de facturation pour mon entreprise et je veux commencer mes factures où mon ancien système est parti (909). Comment puis-je m'y prendre? Je pensais que modifier la clé primaire de la table des factures pour démarrer l'augmentation automatique à 909. Comment vous y prendre? J'utilise les rails 4 et sqlite pour db.comment modifier le début de auto_increment de la clé primaire?

Nous vous remercions de votre temps!

+0

double possible de [Régler la valeur de départ pour AUTOINCREMENT à SQLite] (http://stackoverflow.com/questions/692856/set-start-value-for-autoincrement-in-sqlite) – infused

+0

La réponse suggérée n'est pas explicite sur la façon de procéder. S'il vous plaît aider une recrue. Iv'e a cherché à travers et ne peut pas trouver une réponse adéquate. – davefogo

Répondre

0

En supposant que votre table factures est appelée invoices, exécutez la requête SQL suivante:

UPDATE SQLITE_SEQUENCE SET seq = 909 WHERE name = 'invoices' 

Vous pouvez définir la valeur initiale dans une migration juste après la création de la table. Dans votre utilisation de la migration:

ActiveRecord::Base.connection.execute("UPDATE SQLITE_SEQUENCE SET seq = 909 WHERE name = 'invoices'") 
+0

Infused merci pour votre réponse. Pourriez-vous s'il vous plaît me promener à travers? Est-ce à faire à travers la console de rails? ActiveRecord :: Base.connection.execute? Merci – davefogo

+0

Oui, vous pouvez l'exécuter via 'ActiveRecord :: Base.connection.execute' ou directement via la console' sqlite3'. – infused

+0

Il suffit donc d'exécuter sqlite3 db/development.sqlite3 pour entrer dans la console Sql, n'est-ce pas? J'ai eu des problèmes avec irb. – davefogo