cloudreve/cloudreve · error

failed to list v3 direct links: %w

Error message

failed to list v3 direct links: %w

What it means

Error "failed to list v3 direct links: %w" thrown in cloudreve/cloudreve.

Source

Thrown at application/migrator/directlink.go:26

	"github.com/cloudreve/Cloudreve/v4/ent/file"
	"github.com/cloudreve/Cloudreve/v4/pkg/conf"
)

func (m *Migrator) migrateDirectLink() error {
	m.l.Info("Migrating direct links...")
	batchSize := 1000
	offset := m.state.DirectLinkOffset
	ctx := context.Background()

	if m.state.DirectLinkOffset > 0 {
		m.l.Info("Resuming direct link migration from offset %d", offset)
	}

	for {
		m.l.Info("Migrating direct links with offset %d", offset)
		var directLinks []model.SourceLink
		if err := model.DB.Limit(batchSize).Offset(offset).Find(&directLinks).Error; err != nil {
			return fmt.Errorf("failed to list v3 direct links: %w", err)
		}

		if len(directLinks) == 0 {
			if m.dep.ConfigProvider().Database().Type == conf.PostgresDB {
				m.l.Info("Resetting direct link ID sequence for postgres...")
				m.v4client.DirectLink.ExecContext(ctx, "SELECT SETVAL('direct_links_id_seq',  (SELECT MAX(id) FROM direct_links))")
			}
			break
		}

		tx, err := m.v4client.Tx(ctx)
		if err != nil {
			_ = tx.Rollback()
			return fmt.Errorf("failed to start transaction: %w", err)
		}

		for _, dl := range directLinks {
			sourceId := int(dl.FileID) + m.state.LastFolderID

View on GitHub (pinned to 20c95ad73f)

When it happens

Trigger: Thrown at application/migrator/directlink.go:26 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of cloudreve/cloudreve@20c95ad73f (2026-08-16). Data as JSON: /api/errors/3f5d5c73af870cb2. Report an issue: GitHub.