Zuerst denke ich, dass Sie Ihr Design nur ein wenig überdenken müssen. Der grundlegende Punkt ist, dass Längenbeschränkungen sinnvoll sein sollten und nicht nur, um Platz zu sparen. PostgreSQL speichert 'A' :: varchar (10) nicht anders als 'A' :: text (beide werden als Textzeichenfolgen variabler Länge gespeichert, nur solange der Wert gespeichert ist, zusammen mit einem Längenbezeichner und einigen anderen Metadaten), also sollten Sie die längste Größe verwenden, die für Sie arbeiten kann, und die Längen für die inhaltliche Durchsetzung verwenden, anstatt Platz zu sparen. Im Zweifelsfall nicht einschränken. Wenn Sie sicherstellen müssen, dass es auf ein Versandetikett passt, müssen Sie entsprechend einschränken.
Zweitens Dankohn Antwort oben:
var Profile = sequelize.define('PublicID', {
public_id: {
validate: { len: [0,32] })
ist, wie Sie dann die Durchsetzung zu dem Front-End hinzufügen würde. Wiederum sollte eine solche Durchsetzung auf dem beruhen, was Sie wissen, nicht nur, was zu der Zeit eine gute Idee zu sein scheint, und während es im Allgemeinen einfacher ist, Einschränkungen zu lockern, als sie zu straffen, ist die Stringlänge wirklich ein Kinderspiel Dinge anders machen.
Wie für die Verwendung in anderen Anwendungen, möchten Sie wahrscheinlich die Constraint-Informationen in den Systemkatalogen nachschlagen, die Sie in eine Art fortgeschrittenes Territorium bringt.