Browse Source

Merge pull request #1728 from nocodb/develop

0.90.1 Pre-release
pull/1729/head 0.90.1
աɨռɢӄաօռɢ 2 years ago committed by GitHub
parent
commit
fd1392f00a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      README.md
  2. 14
      packages/nc-gui/components/ProjectTreeView.vue
  3. 69
      packages/nc-gui/components/project/spreadsheet/components/extras.vue
  4. 3
      packages/nc-gui/mixins/device.js
  5. 2
      packages/noco-docs-prev/content/en/setup-and-usages/dashboard.md
  6. 8
      packages/noco-docs/content/en/getting-started/installation.md
  7. 3
      packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSqlv2.ts
  8. 2
      packages/nocodb/src/lib/dataMapper/lib/sql/CustomKnex.ts
  9. 14
      packages/nocodb/src/lib/dataMapper/lib/sql/conditionV2.ts
  10. 1
      packages/nocodb/src/lib/noco-models/Filter.ts
  11. 2
      packages/nocodb/src/lib/noco/upgrader/NcUpgrader.ts
  12. 11
      packages/nocodb/src/lib/utils/projectAcl.ts
  13. 2
      scripts/markdown/readme/languages/chinese.md
  14. 2
      scripts/markdown/readme/languages/dutch.md
  15. 2
      scripts/markdown/readme/languages/french.md
  16. 2
      scripts/markdown/readme/languages/german.md
  17. 2
      scripts/markdown/readme/languages/indonesian.md
  18. 2
      scripts/markdown/readme/languages/italian.md
  19. 2
      scripts/markdown/readme/languages/japanese.md
  20. 2
      scripts/markdown/readme/languages/korean.md
  21. 2
      scripts/markdown/readme/languages/portuguese.md
  22. 2
      scripts/markdown/readme/languages/russian.md
  23. 2
      scripts/markdown/readme/languages/spanish.md

8
README.md

@ -93,13 +93,13 @@ npm start
```bash ```bash
# for SQLite # for SQLite
docker run -d --name nocodb \ docker run -d --name nocodb \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
nocodb/nocodb:latest nocodb/nocodb:latest
# for MySQL # for MySQL
docker run -d --name nocodb-mysql \ docker run -d --name nocodb-mysql \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
-e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \ -e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \ -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
@ -107,7 +107,7 @@ nocodb/nocodb:latest
# for PostgreSQL # for PostgreSQL
docker run -d --name nocodb-postgres \ docker run -d --name nocodb-postgres \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
-e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \ -e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \ -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
@ -115,7 +115,7 @@ nocodb/nocodb:latest
# for MSSQL # for MSSQL
docker run -d --name nocodb-mssql \ docker run -d --name nocodb-mssql \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
-e NC_DB="mssql://host.docker.internal:1433?u=root&p=password&d=d1" \ -e NC_DB="mssql://host.docker.internal:1433?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \ -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \

14
packages/nc-gui/components/ProjectTreeView.vue

@ -580,7 +580,7 @@
<template v-if="_isUIAllowed('settings')"> <template v-if="_isUIAllowed('settings')">
<v-divider /> <v-divider />
<div class="py-3 pl-5 pr-3 d-flex align-center"> <div class="pt-3 pl-5 pr-3 d-flex align-center pb-2">
<settings-modal> <settings-modal>
<template #default="{click}"> <template #default="{click}">
<div v-t="['project-settings']" class="caption pointer nc-team-settings" @click="click"> <div v-t="['project-settings']" class="caption pointer nc-team-settings" @click="click">
@ -593,6 +593,17 @@
</settings-modal> </settings-modal>
</div> </div>
</template> </template>
<div
v-t="['api-docs']"
class="caption pointer nc-docs pb-3 pl-5 pr-3 pt-2 d-flex align-center"
@click="openLink('https://apis.nocodb.com')"
>
<v-icon small class="mr-2">
mdi-api
</v-icon>
API Docs
</div>
<v-divider /> <v-divider />
<extras class="pl-1 " /> <extras class="pl-1 " />
</div> </div>
@ -610,7 +621,6 @@
@create="mtdViewCreate($event)" @create="mtdViewCreate($event)"
/> />
<textDlgSubmitCancel <textDlgSubmitCancel
v-if="dialogRenameTable.dialogShow" v-if="dialogRenameTable.dialogShow"
:rules="[validateTableName, validateUniqueAlias]" :rules="[validateTableName, validateUniqueAlias]"

69
packages/nc-gui/components/project/spreadsheet/components/extras.vue

@ -19,6 +19,7 @@
<v-list <v-list
width="100%" width="100%"
class=" class="
py-0
flex-shrink-1 flex-shrink-1
text-left text-left
elevation-0 elevation-0
@ -29,30 +30,51 @@
:class="{ active: true }" :class="{ active: true }"
dense dense
> >
<v-list-item dense href="https://discord.gg/5RgZmkW" target="_blank"> <v-list-item>
<!-- Join Discord --> <div class="d-flex justify-space-between d-100 pr-2">
<v-icon v-t="['community:discord']" class="mr-1" size="22" :color="textColors[0]" @click="open('https://discord.gg/5RgZmkW')">
mdi-discord
</v-icon>
<v-icon v-t="['community:discourse']" class="mr-1 discourse" size="22" :color="textColors[0]" @click="open('https://community.nocodb.com/')">
mdi-discourse
</v-icon>
<v-icon v-t="['community:discord']" class="mr-1" size="22" color="#ff4600" @click="open('https://www.reddit.com/r/NocoDB/')">
mdi-reddit
</v-icon>
<v-icon v-t="['community:twitter']" class="mr-1" size="22" :color="textColors[1]" @click="open('https://twitter.com/NocoDB')">
mdi-twitter
</v-icon>
<v-icon v-t="['community:book-demo']" class="mr-1" size="22" :color="textColors[3]" @click="open('https://calendly.com/nocodb-meeting')">
mdi-calendar-month
</v-icon>
</div>
</v-list-item>
<!-- <v-list-item dense href="https://discord.gg/5RgZmkW" target="_blank">
&lt;!&ndash; Join Discord &ndash;&gt;
<v-list-item-title> <v-list-item-title>
<v-icon class="mr-1" small :color="textColors[0]"> <v-icon class="mr-1" small :color="textColors[0]">
mdi-discord mdi-discord
</v-icon> </v-icon>
<span class="caption" :title="$t('labels.community.joinDiscord')" v-t="['community:discord']">{{ <span v-t="['community:discord']" class="caption" :title="$t('labels.community.joinDiscord')">{{
$t('labels.community.joinDiscord') $t('labels.community.joinDiscord')
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>
<!-- Join Community --> &lt;!&ndash; Join Community &ndash;&gt;
<v-list-item dense href="https://community.nocodb.com/" target="_blank"> <v-list-item dense href="https://community.nocodb.com/" target="_blank">
<v-list-item-title> <v-list-item-title>
<v-icon class="mr-1 discourse" small :color="textColors[0]"> <v-icon class="mr-1 discourse" small :color="textColors[0]">
mdi-discourse mdi-discourse
</v-icon> </v-icon>
<span class="caption" :title="$t('labels.community.joinCommunity')" v-t="['community:discourse']">{{ <span v-t="['community:discourse']" class="caption" :title="$t('labels.community.joinCommunity')">{{
$t('labels.community.joinCommunity') $t('labels.community.joinCommunity')
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>
<v-divider />
<v-list-item dense href="https://twitter.com/NocoDB" target="_blank"> <v-list-item dense href="https://twitter.com/NocoDB" target="_blank">
<!-- Join Reddit --> &lt;!&ndash; Join Reddit &ndash;&gt;
<v-list-item-title> <v-list-item-title>
<v-icon class="mr-1" small color="#ff4600"> <v-icon class="mr-1" small color="#ff4600">
mdi-reddit mdi-reddit
@ -67,7 +89,7 @@
target="_blank" target="_blank"
href="https://calendly.com/nocodb-meeting" href="https://calendly.com/nocodb-meeting"
> >
<!-- Follow NocoDB --> &lt;!&ndash; Follow NocoDB &ndash;&gt;
<v-list-item-title> <v-list-item-title>
<v-icon class="mr-1" small :color="textColors[1]"> <v-icon class="mr-1" small :color="textColors[1]">
mdi-twitter mdi-twitter
@ -76,18 +98,18 @@
$t('labels.community.followNocodb') $t('labels.community.followNocodb')
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>-->
<v-list-item dense href="https://www.reddit.com/r/NocoDB/" target="_blank"> <!-- <v-list-item dense href="https://www.reddit.com/r/NocoDB/" target="_blank">
<!-- Book a Free DEMO --> &lt;!&ndash; Book a Free DEMO &ndash;&gt;
<v-list-item-title> <v-list-item-title>
<v-icon class="mr-1" small :color="textColors[3]"> <v-icon class="mr-1" small :color="textColors[3]">
mdi-calendar-month mdi-calendar-month
</v-icon> </v-icon>
<span class="caption" :title="$t('labels.community.bookDemo')" v-t="['community:book-demo']">{{ <span v-t="['community:book-demo']" class="caption" :title="$t('labels.community.bookDemo')">{{
$t('labels.community.bookDemo') $t('labels.community.bookDemo')
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>-->
</v-list> </v-list>
</div> </div>
</template> </template>
@ -96,7 +118,6 @@
<script> <script>
import ShareIcons from '../../../share-icons' import ShareIcons from '../../../share-icons'
import SponsorMini from '~/components/sponsorMini'
import colors from '~/mixins/colors' import colors from '~/mixins/colors'
export default { export default {
@ -106,8 +127,7 @@ export default {
data: () => ({ data: () => ({
showCommunity: true showCommunity: true
}), }),
computed: { computed: {},
},
mounted() { mounted() {
setInterval(() => { setInterval(() => {
this.showCommunity = !this.showCommunity this.showCommunity = !this.showCommunity
@ -138,8 +158,8 @@ export default {
} }
.v-icon.discourse { .v-icon.discourse {
height: 16px; height: 22px;
width: 16px; width: 22px;
background-image: url('~/assets/img/discourse-icon.png'); background-image: url('~/assets/img/discourse-icon.png');
background-size: contain; background-size: contain;
background-repeat: no-repeat; background-repeat: no-repeat;
@ -150,19 +170,4 @@ export default {
content: ""; content: "";
} }
//
//@keyframes anim {
// 0%, 100% {
// opacity: .2;
// transform: scale(.5);
// }
// 50% {
// opacity: 1;
// transform: scale(1);
// }
//}
//
//.vue-icon {
// animation: anim 2s infinite;
//}
</style> </style>

3
packages/nc-gui/mixins/device.js

@ -126,6 +126,9 @@ export default {
msg = e.response.data.msg || 'Some internal error occurred' msg = e.response.data.msg || 'Some internal error occurred'
} }
return msg || 'Some error occurred' return msg || 'Some error occurred'
},
open(url, target = '_blank') {
window.open(url, target)
} }
} }
} }

2
packages/noco-docs-prev/content/en/setup-and-usages/dashboard.md

@ -31,7 +31,7 @@ If you are using Docker, it is recommended to mount `/usr/app/data/` for persist
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
## Initialize your first project ## Initialize your first project

8
packages/noco-docs/content/en/getting-started/installation.md

@ -66,7 +66,7 @@ If you are a Docker user, you may try this way!
```bash ```bash
docker run -d --name nocodb \ docker run -d --name nocodb \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
nocodb/nocodb:latest nocodb/nocodb:latest
``` ```
@ -77,7 +77,7 @@ If you are a Docker user, you may try this way!
```bash ```bash
docker run -d --name nocodb-mysql \ docker run -d --name nocodb-mysql \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
-e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \ -e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \ -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
@ -90,7 +90,7 @@ If you are a Docker user, you may try this way!
```bash ```bash
docker run -d --name nocodb-postgres \ docker run -d --name nocodb-postgres \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
-e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \ -e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \ -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
@ -103,7 +103,7 @@ If you are a Docker user, you may try this way!
```bash ```bash
docker run -d --name nocodb-mssql \ docker run -d --name nocodb-mssql \
-v /local/path:/usr/app/data/ \ -v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \ -p 8080:8080 \
-e NC_DB="mssql://host.docker.internal:1433?u=root&p=password&d=d1" \ -e NC_DB="mssql://host.docker.internal:1433?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \ -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \

3
packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSqlv2.ts

@ -2055,8 +2055,7 @@ function extractCondition(nestedArrayConditions, aliasColObjMap) {
// eslint-disable-next-line prefer-const // eslint-disable-next-line prefer-const
let [logicOp, alias, op, value] = let [logicOp, alias, op, value] =
str.match(/(?:~(and|or|not))?\((.*?),(\w+),(.*)\)/)?.slice(1) || []; str.match(/(?:~(and|or|not))?\((.*?),(\w+),(.*)\)/)?.slice(1) || [];
if (op === 'is') op = 'is' + value; if (op === 'in') value = value.split(',');
else if (op === 'in') value = value.split(',');
return new Filter({ return new Filter({
comparison_op: op, comparison_op: op,

2
packages/nocodb/src/lib/dataMapper/lib/sql/CustomKnex.ts

@ -432,6 +432,7 @@ const appendWhereCondition = function(
); );
break; break;
case '': case '':
{
const column = columnAliases[matches[2]] || matches[2]; const column = columnAliases[matches[2]] || matches[2];
const operator = opMapping[matches[3]]; const operator = opMapping[matches[3]];
const target = matches[4]; const target = matches[4];
@ -445,6 +446,7 @@ const appendWhereCondition = function(
} else { } else {
knexRef[`${key}`](column, operator, target); knexRef[`${key}`](column, operator, target);
} }
}
break; break;
default: default:
throw new Error(`${matches[1] || ''} Invalid operation.`); throw new Error(`${matches[1] || ''} Invalid operation.`);

14
packages/nocodb/src/lib/dataMapper/lib/sql/conditionV2.ts

@ -251,9 +251,19 @@ const parseConditionV2 = async (
else if (filter.value === 'notnull') else if (filter.value === 'notnull')
qb = qb.whereNotNull(customWhereClause || field); qb = qb.whereNotNull(customWhereClause || field);
else if (filter.value === 'empty') else if (filter.value === 'empty')
qb = qb.where(customWhereClause || field); qb = qb.where(customWhereClause || field, '');
else if (filter.value === 'notempty') else if (filter.value === 'notempty')
qb = qb.whereNot(customWhereClause || field); qb = qb.whereNot(customWhereClause || field, '');
break;
case 'isnot':
if (filter.value === 'null')
qb = qb.whereNotNull(customWhereClause || field);
else if (filter.value === 'notnull')
qb = qb.whereNull(customWhereClause || field);
else if (filter.value === 'empty')
qb = qb.whereNot(customWhereClause || field, '');
else if (filter.value === 'notempty')
qb = qb.where(customWhereClause || field, '');
break; break;
case 'lt': case 'lt':
qb = qb.where(field, customWhereClause ? '>' : '<', val); qb = qb.where(field, customWhereClause ? '>' : '<', val);

1
packages/nocodb/src/lib/noco-models/Filter.ts

@ -37,6 +37,7 @@ export default class Filter {
| 'ge' | 'ge'
| 'le' | 'le'
| 'in' | 'in'
| 'isnot'
| 'is'; | 'is';
value?: string; value?: string;

2
packages/nocodb/src/lib/noco/upgrader/NcUpgrader.ts

@ -105,7 +105,7 @@ export default class NcUpgrader {
evt_type: 'appMigration:failed', evt_type: 'appMigration:failed',
from: oldVersion, from: oldVersion,
to: process.env.NC_VERSION, to: process.env.NC_VERSION,
msg: e.msg msg: e.message
}); });
} }
} }

11
packages/nocodb/src/lib/utils/projectAcl.ts

@ -3,6 +3,8 @@ export default {
creator: '*', creator: '*',
guest: {}, guest: {},
editor: { editor: {
hideAllColumns: true,
showAllColumns: true,
auditRowUpdate: true, auditRowUpdate: true,
passwordChange: true, passwordChange: true,
// new permissions // new permissions
@ -124,7 +126,8 @@ export default {
bulkDataDelete: true, bulkDataDelete: true,
bulkDataDeleteAll: true, bulkDataDeleteAll: true,
relationDataRemove: true, relationDataRemove: true,
relationDataAdd: true relationDataAdd: true,
dataCount: true
}, },
commenter: { commenter: {
formViewGet: true, formViewGet: true,
@ -171,7 +174,8 @@ export default {
xcModelRowAuditAndCommentList: true, xcModelRowAuditAndCommentList: true,
xcAuditCommentInsert: true, xcAuditCommentInsert: true,
xcAuditModelCommentsCount: true, xcAuditModelCommentsCount: true,
xcExportAsCsv: true xcExportAsCsv: true,
dataCount: true
}, },
viewer: { viewer: {
formViewGet: true, formViewGet: true,
@ -213,7 +217,8 @@ export default {
relationListAll: true, relationListAll: true,
indexList: true, indexList: true,
list: true, list: true,
xcExportAsCsv: true xcExportAsCsv: true,
dataCount: true
}, },
user_new: { user_new: {
passwordChange: true, passwordChange: true,

2
scripts/markdown/readme/languages/chinese.md

@ -55,7 +55,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
示例: 示例:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### 使用NPM ### 使用NPM

2
scripts/markdown/readme/languages/dutch.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### Gebruik van NPM ### Gebruik van NPM

2
scripts/markdown/readme/languages/french.md

@ -57,7 +57,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
> To persist data you can mount volume at `/usr/app/data/`. > To persist data you can mount volume at `/usr/app/data/`.

2
scripts/markdown/readme/languages/german.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Beispiel: Beispiel:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### Verwenden von NPM ### Verwenden von NPM

2
scripts/markdown/readme/languages/indonesian.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### Menggunakan NPM ### Menggunakan NPM

2
scripts/markdown/readme/languages/italian.md

@ -58,7 +58,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### Con NPM ### Con NPM

2
scripts/markdown/readme/languages/japanese.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### NPM を使用して ### NPM を使用して

2
scripts/markdown/readme/languages/korean.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb: docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:
### npm 사용 ### npm 사용

2
scripts/markdown/readme/languages/portuguese.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### Usando npm. ### Usando npm.

2
scripts/markdown/readme/languages/russian.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### Используя NPM ### Используя NPM

2
scripts/markdown/readme/languages/spanish.md

@ -59,7 +59,7 @@ docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Example: Example:
``` ```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
``` ```
### Usando npm. ### Usando npm.

Loading…
Cancel
Save