2025_06_03_000004_create_reviews_table
foreignId('article_id')
foreignId('article_file_id')
foreignId('reviewer_id')
integer('score')
string('result')
string('status')
timestamp('review_at')

2025_08_18_140116_create_revisions_table
foreignId('article_id')
foreignId('article_file_id')
foreignId('user_id')
string('status')
timestamp('submit_at')

2025_06_14_183702_create_article_files_table
foreignId('article_id')
foreignId('uploader_id')
string('file_path')
string('original_filename')
string('mime_type')
unsignedInteger('version')
string('file_type')

2025_06_14_185610_create_article_authors_table
foreignId('article_id')
foreignId('user_id')
unsignedTinyInteger('order')
string('affiliation')
string('email')
string('orcid')
text('bio')
string('status')
boolean('is_corresponding_author')

2025_08_18_140915_create_comments_table
foreignId('user_id')
foreignId('submission_id')
foreignId('review_id')
foreignId('revision_id')
text('message')
string('visibility')
string('status')